首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Node.js开发

    dart

    可以理解为一个代码块,具有封装、继承、多态的特性 如何创建对象, 什么是抽象,抽象用于定义标准 abstrct class Animal{ eat() } class Dog extends 抽象不能被实例化,抽象中不只有抽象方法还可以有普通方法; 多态: 多态就是父定义方法不去实现,子类去实现,子类有不同的表现。向上转型子类的实例复制给父的引用。 dart中没有interface,就是或者抽象,在dart中定义接口建议使用抽象 接口就是约定,规范。 ,但是不能同时继承多个抽象。 可以继承共用方法 总结一下: 1.一般来讲,单继承,多实现,混入是多继承 A.继承是子类需要复用父的方法实现 B.实现接口是复用接口的参数,返回值,和方法名,但不复用方法的实现,在Dart中实现抽象

    45040发布于 2021-01-05
  • 来自专栏程序那些事

    dart系列之:dart的扩展

    dart系列之:dart的扩展 文章目录 简介 使用extends 抽象和接口 mixins 总结 简介 虽然dart中的只能有一个父,也就是单继承的,但是dart提供了mixin语法来绕过这样限制 今天,和大家一起来探讨一下dart中的继承。 使用extends 和JAVA一样,dart中可以定义一个父,然后使用extends来继承他,得到一个子类,如下所示: class Student{ } class Boy extends Student 抽象和接口 dart中除了继承普通之外,还可以继承抽象和实现接口。 和java不同的是,dart中并没有interface,他引入的是一个Implicit interfaces的概念。 对应每个对象来说,都隐式定义了一个包含中所有方法和属性的接口。

    94110发布于 2021-11-16
  • 来自专栏杨不易呀

    Dart-(下)

    前言经过上一篇的介绍,我们已经了解了的基本使用,本篇将继续介绍的一些特性本篇将介绍的继承、多态、接口、混入等内容继承与多态Dart 中的继承和多态是面向对象编程的核心概念,它们允许你创建基于现有的新 运行结果:Dart 中的多态多态是面向对象编程中的一个概念,它允许你使用父类型的引用来指向子类的对象意味着你可以用父的形式来调用实现了该父的任何子类的方法Animal myAnimal = Dog Dart 接口在 Dart 中,任何都可以作为接口使用不需要显式地定义接口,而是可以直接使用作为接口当一个实现另一个(作为接口)时,它必须重写所有的方法class Car { void drive 混入混入(Mixin)是 Dart 中一个非常强大的特性,允许你在多个层次结构中重用代码使用 mixin 关键字可以创建一个混入,它可以被其他所使用,而不需要成为这些的父mixin Electric :混入增加了代码的灵活性和重用性,尤其是在创建具有共同行为但不共享公共父时非常有用接口强制实现特定的方法集,提供了一种确保遵守特定协议的方式这些概念使 Dart 在处理多重继承和代码重用时非常灵活和强大

    30330编辑于 2024-01-02
  • 来自专栏Coooooooooode!(前端)

    Dart语言 函数&

    Flutter 学习准备 Dart语言 函数 & 函数定义函数函数定义不需要关键字,函数前的void,int代表函数的返回值类型,void代表了函数无返回值函数引入非常简单 只需要import '. new,在dart中不需要使用new // var student = new Student(); // 定义了一个后,创建实例可以直接将类型写成我们自己定义的 Student student = 这里使用了 dart 自带的方法dart:convert中的 jsonEncode来进行 Json 转换。 不需要写多个语句void main(List<String> args) { // 使用js的写法,创建一个的实例需要用到关键词new,在dart中不需要使用new // var student @override重写父方法,可以省略void main(List<String> args) { // 使用js的写法,创建一个的实例需要用到关键词new,在dart中不需要使用new //

    35420编辑于 2024-01-18
  • 来自专栏前端开发随笔

    Dart的继承

    //定义一个父 class Person { var name; var age; Person(this.name, this.age); getInfo() { print ("${this.name},${this.age}"); } } //定义Web继承Person,可以使用Person中的所有成员 //使用super关键字可以对父进行传参 class Web ) : super(name, age) { this.sex = sex; } // 在子类可以延伸方法 run() { super.getInfo(); //子类调用父的方法 print("${this.name},${this.age},${this.sex}"); //子类调用父的属性 } // 覆写父的方法, @override //建议写上

    67420发布于 2020-09-03
  • 来自专栏杨不易呀

    Dart-(上)

    前言在 Dart 中,(Class)是一种用于创建对象的模板它可以封装数据和方法JavaScript 也有的概念,虽然它在 ES6(ECMAScript 2015)之前是以不同的方式实现的的定义与使用 Dart 中的Dart 中,你可以这样定义一个:class Person { String name; int age; Person(this.name, this.age); void ,而是属于本身在 Dart 和 JavaScript 中都是可行的,尽管它们的实现方式略有不同Dart 中的静态方法和属性在 Dart 中,你可以使用关键字 static 来定义静态方法和属性这些成员可以通过名直接访问 ES2020 才正式支持这种语法属性定义:Dart 允许在内部直接定义静态属性在 JavaScript 的早期版本中,静态属性通常在定义之外单独设置类型系统:Dart 中静态成员可以拥有显式的类型 JavaScript 中类型是动态的,不需要显式声明访问方式:在 Dart 和 JavaScript 中,静态方法和属性都通过名直接访问,而不是通过的实例构造函数在上方的定义中已经带着大家过了一遍的定义了我这里就是想给大家单独说一下这个语法糖的构造函数

    43410编辑于 2023-12-27
  • 来自专栏程序那些事

    dart系列之:dart中的泛型

    dart语言中也有泛型。一起来看看吧。 巧妙的使用泛型还能够减少我们的代码量,因为泛型可以代表一通用的类型。 ma'}; var mapExamples = <String, String>{ 'name1': 'jack ma', 'name2': 'tony ma', }; 泛型还可以用在这些集合的构造函数中 dart就和java不一样了,dart在运行时能够携带类型信息,也就是说,在dart中可以判断一个对象是不是List。 总结 以上就是dart中泛型和其使用的介绍。

    2.1K10发布于 2021-11-17
  • 来自专栏程序那些事

    dart系列之:dart中的泛型

    dart语言中也有泛型。一起来看看吧。 巧妙的使用泛型还能够减少我们的代码量,因为泛型可以代表一通用的类型。 dart就和java不一样了,dart在运行时能够携带类型信息,也就是说,在dart中可以判断一个对象是不是List。 (['jack ma', 'tony ma']); print(names is List<String>); // true 泛型的继承 使用泛型的目的是限制参数的类型,所以我们通常会指定泛型的父, 总结 以上就是dart中泛型和其使用的介绍。 本文已收录于 http://www.flydean.com/08-dart-generics/

    1.8K30发布于 2021-11-25
  • 来自专栏小黑娃Henry

    dart(四)--、构造函数、方法dart(四)--、构造函数、方法

    构造函数 构造函数 className 或 className.identifier, 关键字 new 可选. 构造函数语句执行顺序:初始化器,父构造函数,子类构造函数。 2,dart所有的对象都默认继承object */ @override String toString() => 'Point(x: $x,y: $y)'; 4,shared变量是一个地址不可修改且内容为常值的ImmtablePoint的实例。 5,由于需要构造一个内容不可修改的实例,所以构造函数也需要被const修饰。 Doer { /* 1,指定抽象拓展。 2,拓展后需实现抽象中的方法。

    1.8K20发布于 2021-08-09
  • 来自专栏程序那些事

    dart系列之:dart中的构造函数

    要想使用dart中的就要构造的实例,在dart中,一个的构造函数有两种方式,一起来看看吧。 传统的构造函数 和JAVA一样,dart中可以使用和class名称相同的函数作为其构造函数,这也是很多编程语言中首先的构造函数的创建方式,我们以Student为例,来看看dart中的构造函数是怎么样的 ,对dart来说,this是可以忽略的,但是在上面的例子中,因为变量的名字和构造函数传入参数的名字是一样的,所以需要加上this来进行区分。 构造函数的执行顺序 我们知道,dart中的是可以继承的,那么对于dart中的子类来说,其构造函数的执行顺序是怎么样的呢? 如果不给dart指定构造函数,那么dart会为自动生成一个无参的构造函数,如果这个是子类的话,则会自动调用父的无参构造函数。

    4.1K00发布于 2021-11-14
  • 来自专栏个人路线

    Dart File 的用法

    本文主要简单了解 Dart File 的用法。 Dart File File 表示文件系统中某个文件的引用。 File 实例是个对象,它持有 path 并对其进行操作。 var myFile = new File('file.txt'); File 包含操作文件及其内容的方法。使用这些方法,可以打开和关闭文件,读写文件,创建和删除文件,以及检查文件是否存在。 File 中的方法大部分都有同步和异步两种形式,比如 readAsString 和 readAsStringSync。除非有特别的理由,通常应当使用异步方法以避免阻塞程序。 如果构造 File 对象的 path 是一个符号链接,而非文件,则 File 的方法会操作链接指向的最终目标文件。 import 'dart:io'; import 'dart:convert'; import 'dart:async'; ​ main() { final file = new File('file.txt

    1.8K70发布于 2021-08-05
  • 来自专栏全栈开发工程师

    Dart】001-变量、常量、

    Dart】001-变量、常量、 一、Hello World void main() { hello(); // hello, world! } // 我从哪里来? '訾博'; print(name); name = "zibo"; // Constant variables can't be assigned a value. } 运行结果 訾博 四、 const ,否则会报错 const User(this.name, this.age); } 运行结果 true false 2、什么时候可以使用 const 使用在有 const 构造方法的中 在 debug 模式下,(由于 Dart 的去重策略)你也许会发现两个 const 的 widget 长得并不完全一样。 5、dynamic:任意类型 在Dart中,dynamic是一个关键字,用于声明动态类型的变量。使用dynamic关键字声明的变量可以在运行时具有不同的类型,类似于其他动态语言中的变量。

    28210编辑于 2025-01-06
  • 来自专栏大宇笔记

    Dart语法基础系列七《

    在每个语言都是最核心的内容。dart与其他语言差别不是很大,但是也有出入。 类属性 ---- 里直接写属性是报错的,必须有默认值初始化或者构造函数赋值。 sex; } 构造函数 ---- 默认会生成构造函数。 Map json) : name = json['name'], age = json['age'], sex = json['sex']; 工厂构造函数 dart Rectangle(3, 4, 20, 15); assert(rect.left == 3); rect.right = 12; assert(rect.left == -8); } 继承 ---- dart 肯定也是可以继承的,和其他语言一样。

    48210发布于 2021-11-10
  • 来自专栏Flutter入门到实战

    Dart的语法详解系列篇(二)-- 与函数八、Dart与函数

    这一篇我们讲Dart与函数,内容较多,希望大家可以耐心看完。我也是花了很长时间研究的。喜欢的九点个赞,打个赏吧。 感谢大家支持。 ---- 八、Dart与函数 Dart是一种面向对象的语言,具有和基于mixin的继承。每个对象都是一个的实例,所有都来自Object。 5.命名构造函数 Dart不像java可以使用多个同名不同参数构造。但是Dart提供了命名构造。使用命名构造函数为实现多个构造函数或提供更多的解释说明。 Dart函数的使用示例代码请看dart_demo/test/method/method_write.dart。 mixin MusicalPerformer on Musician { //... } (十四)可调用的(Callable Class) 要允许像函数一样调用Dart,请实现该call()方法。

    3.4K30发布于 2019-01-03
  • 来自专栏前端开发随笔

    Dart自定义、构造函数

    //创建自定义 命名为Person class Person { var name = "张三"; var age = 30; setInfo() { this.age = 50; 实例化的时候自动触发'); } // 命名构造函数可以写多个 Person.now() { print('命名构造函数被触发'); } } void main() { // 实例化自定义

    98610发布于 2020-09-03
  • 来自专栏Coooooooooode!(前端)

    Dart学习 抽象泛型接口混入

    抽象抽象是对本质相同内容定义一个标准.有相同本质要实现不同功能的子类可以继承这个,需要实现其中定义的抽象方法abstract关键字定义抽象举个例子Result 是一个抽象, success( 文件,写好内容import '/xxx.dart 导入里面全部内容。 如果想指定方法导入 可是使用 showimport '/xxx.dart show A,B指定某些内容不导入 用 hide 来指定不导入某些内容import '/xxx.dart hide A,Bdart 内置库dart:io dart:convert这里就是 dart 的内置库,提供了不同的方法。 dart pub add dio 后根据官方文档的示例来使用。

    46720编辑于 2024-01-30
  • 来自专栏LinXunFeng的专栏

    Dart - 抽象的实例化

    一、抽象的使用 Dart 抽象可以只声明方法,也可以有具体的方法实现,但是不能直接用抽象来创建实例,只能被继承使用或者充当接口。 接口: 必须实现抽象中声明的所有方法 二、抽象的实例化 上面提到了抽象不能用于创建实例,但是有没有发现,Dart 提供的 Map 和 List 就是抽象,却可以直接使用它们创建出一个实例对象 final Map源码 Map 的确是抽象,不过此时我们也注意到了,在 Map 这个抽象中,定义了一个工厂构造方法,这就是使抽象可实例化的关键所在,因为工厂方法可以返回一个实例对象,但这个对象的类型不一定就是当前 Map 的具体实现源码 // flutter/bin/cache/dart-sdk/lib/_internal/vm/lib/map_patch.dart @patch factory Map() 我们再去看一下 LinkedHashMap 的实现源码,路径如下: // flutter/bin/cache/dart-sdk/lib/collection/linked_hash_map.dart

    3.3K41发布于 2020-06-08
  • 来自专栏大宇笔记

    Dart语法基础系列八《抽象

    抽象往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。 抽象概述 通常在编程语句中用 abstract 修饰的是抽象。 在C++中,含有纯虚拟函数的称为抽象,它不能生成对象;在java中,含有抽象方法的称为抽象,同样不能生成对象。 抽象是不完整的,它只能用作基。 在面向对象方法中,抽象主要用来进行类型隐藏和充当全局变量的角色。 抽象通常应用于定义接口。 抽象特点: 不能实例化 类似接口,可以部分实现 可以继承 可以利用抽象完成多继承 抽象作用一:的约束实现 这个例子可以验证一下知识点和思想: 抽象继承 implements实现抽象的约束 总结 2、3作用,其实也是可以的,我的理解dart是包含abstract 的。可以作为接口,也可以实现,接口作为子集,可以作为接口和实现部分。

    66720发布于 2021-11-18
  • 来自专栏全栈开发工程师

    Dart】006-的定义和使用

    Dart】006-的定义和使用 在编程中, 的目的是组织 数据 和 功能 ,起到封装的作用,提供解决某类特定问题的方案,或方案中的某一环节。 => print(name); } 运行结果 訾博 四、成员和的可见性 在Dart中,成员和可以具有不同的可见性,这由一些访问修饰符控制。 这些修饰符确定了在代码中的哪些位置可以访问或成员。 Dart中有四种可见性修饰符: public:默认的可见性修饰符。如果没有显式指定修饰符,和成员默认为公共的。公共成员可以在任何位置被访问。 class MyClass { String _privateField; void _privateMethod() { // 私有方法的实现 } } protected:在Dart protectedField = 'Value'; // 可以在子类中访问受保护字段 _protectedMethod(); // 可以在子类中调用受保护方法 } } package-private:在Dart

    26210编辑于 2025-01-06
  • 来自专栏前端开发随笔

    Dart中static静态成员及访问

    class Person { //用static关键字声明静态成员 static var name = "zz"; //静态值 var age = 18; static void show() {//静态方法可以访问静态成员,但是不可以访问非静态的成员 print(name); } void getInfo() {//非静态成员可以访问静态成员以及非静态成员 print(name); //访问静态属性 print(this.age); //访问非静态属性

    1.5K20发布于 2020-09-03
领券